/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package lolbuilder.Champions.Impl;

import java.util.ArrayList;
import lolbuilder.Champions.Interf.DummyChamp;
import lolbuilder.Champions.Interf.Spell;
import lolbuilder.Champions.Spells.effects.ImpureShots;
import lolbuilder.Champions.Spells.effects.Stun;

/**
 *
 * @author chocoboSan
 */
public class Ashe extends DummyChamp {

    public Ashe(int lvl) {
        this.LVL=lvl;
        resetStats();
    }
    
    public Ashe() {
        LVL=18;
        int lvl=LVL-1;
        name="Ashe";
        ad=(int)Math.floor(46.3+lvl*2.85);
        ap=0;
        hp=395+lvl*79;
        curHp=hp;
        rm=30;
        arm=(int) (11.5+3.4*lvl);
        mana=212+lvl*38;
        cdr=0;
        ls=0;
        regenhp=(int)Math.floor(4.5+0.55*lvl);
        sv=0;
        armpen=0;
        armpenPer=0;
        as=(float)0.658;
        for (int i=0;i<LVL;i++) {
            addAttackSpeed((float)3.34);
        }
        ms=300;
        critD=200;
        bonusMgcDmg=0;
        critP=1;
        setSpells();
    }
    
    @Override
    public void resetStats() {
        super.resetStats();
        name="Ashe";
        ad=(int)Math.floor(46.3+LVL*2.85);
        ap=0;
        hp=395+LVL*79;
        curHp=hp;
        rm=30;
        arm=(int) (11.5+3.4*LVL);
        mana=212+LVL*38;
        cdr=0;
        ls=0;
        regenhp=(int)Math.floor(4.5+0.55*LVL);
        sv=0;
        armpen=0;
        armpenPer=0;
        as=(float)0.658;
        for (int i=0;i<=LVL;i++) {
            addAttackSpeed((float)3.34);
        }
        ms=300;
        critD=200;
        bonusMgcDmg=0;
        critP=1;
        setSpells();
    }
    
    @Override
    public void setSpells() {
        skillOrder=new ArrayList<Integer>();
        skillOrder.add(2); //lvl1
        skillOrder.add(1); //lvl2
        skillOrder.add(2); //lvl3
        skillOrder.add(2); //lvl4
        skillOrder.add(3); //lvl5
        skillOrder.add(4); //lvl6
        skillOrder.add(2); //lvl7
        skillOrder.add(1); //lvl8
        skillOrder.add(2); //lvl9
        skillOrder.add(1); //lvl10
        skillOrder.add(4); //lvl11
        skillOrder.add(1); //lvl12
        skillOrder.add(1); //lvl13
        skillOrder.add(3); //lvl14
        skillOrder.add(3); //lvl15
        skillOrder.add(4); //lvl16
        skillOrder.add(3); //lvl17
        skillOrder.add(3); //lvl18
        
        spells=new ArrayList<Spell>();
        Spell two=new Spell();
        Spell four=new Spell();
        spells.add(two);spells.add(four);
        
        int baseDmg[]={20,30,40,60,80};
        int cpt=0;
        for (int i=0;i<LVL;i++) {
            if (skillOrder.get(i)==2) {
                cpt++;
            }
        }
        two.setBaseDamage(baseDmg, cpt);
        two.setBaseDmg(80);
        
        int baseDmg4[]={200,400,600};
        int cpt4=0;
        for (int i=0;i<LVL;i++) {
            if (skillOrder.get(i)==4) {
                cpt4++;
            }
        }
        four.setBaseDamage(baseDmg4,cpt4);
        four.hasEffect=true;
	four.effect=new Stun((float)3);
        
        four.setIsMgcDmg(true);
        two.setIsPhyDmg(true);
        
        two.setHasAdRatio(true);
        four.setHasApRatio(true);
        
        
        two.setAdRatio(1);
        four.setApRatio(1);
        
        
        
        two.setCd(4);
        four.setCd(80);
    }
    
    
}
